<!DOCTYPE html>
 <html>
 <head>
 	<title>day 1</title>
 </head>
 <body>
 <h1>构造函数的相关练习</h1>
 </body>
 </html>

<?php
header("Content-type:text/html;charset=utf-8");
class Person{
	//下面是声明人的三个成员属性
	private $name;//成员属性名字
	private $sex;//成员属性性别
	private $age;//成员属性年龄
	//下面是声明人的两个成员方法
	public function say(){
		echo "我的名字：".$this->name."，年龄：".$this->age."，性别：".$this->sex."<br>";
	}
	public function run(){
		echo $this->name."在走路<br>";
	}
	public function __construct($name="",$sex="男",$age="20")
	{
		$this->setname($name);
		$this->setsex($sex);
		$this->setage($age);

	}
	function __destruct(){

		echo"再见".$this->name."<br>";

	}
	public function setname($name){

		$this->name=$name;
	}
		public function getname(){

		return $this->name;
	}
	public function setage($age){
		if ($age>=1&&$age<=100) {
		$this->age=$age;
		}

		else
			echo"年龄输入有误,修改失败！<br>";

	}
	public function setsex($sex){
		if ($sex=="男"||$sex=="女") {
		$this->sex=$sex;
		}

		else
			echo"性别输入有误,修改失败！<br>";

	}
}
//通过new关键字实例化person类的三个实例对象
$p1 = new Person("赵庆阳","男","21");//通过类Person创建第一个实例对象$person1
//$p1->name="aaa";错误的访问。不能访问私有的成员
$p2 = new Person("魏莹悦","女","20");
$p3 = new Person("徐镜宁");
$p1->setname("帅哥庆阳");
$p1->setage("1000");
$p1->setsex("10000");
echo $p1->getname();
//下面三行是给$person1对象中属性初始化赋值
$p1->say();
$p2->say();
$p3->say();
 ?>